Operational Semantics and Program Equivalence
نویسنده
چکیده
This tutorial paper discusses a particular style of operational semantics that enables one to give a ‘syntax-directed’ inductive definition of termination which is very useful for reasoning about operational equivalence of programs. We restrict attention to contextual equivalence of expressions in the ML family of programming languages, concentrating on functions involving local state. A brief tour of structural operational semantics culminates in a structural definition of termination via an abstract machine using ‘frame stacks’. Applications of this to reasoning about contextual equivalence are given.
منابع مشابه
The Operational Semantics of Action Notation
Action notating is used in the action semantics framwork, for specifying actions representing program behaviour. It is defies by a structural operational semantics together with a bisimulation-bsed equivalence that satisfies some simply algebraic laws.
متن کاملA residualizing semantics for the partial evaluation of functional logic programs
Recent proposals for multi-paradigm declarative programming combine the most important features of functional, logic and concurrent programming into a single framework. The operational semantics of these languages is usually based on a combination of narrowing and residuation. In this note, we introduce a non-standard, residualizing semantics for multi-paradigm declarative programs and prove it...
متن کاملA Language-Independent Proof System for Mutual Program Equivalence
Two programs or fragments of program are mutually equivalent i↵ either they both diverge or they end up in similar states. Mutual equivalence is desirable in many contexts, ranging from capturing program equivalence or correctness of program transformations within the same language, to capturing correctness of compilers from one language to another. This paper introduces a language-independent ...
متن کاملProgram Equivalence for a Concurrent Lambda Calculus with Futures
Reasoning about the correctness of program transformations requires a notion of program equivalence. We present an observational semantics for the concurrent lambda calculus with futures λ(fut), which formalizes the operational semantics of the programming language Alice ML. We show that natural program optimizations, as well as partial evaluation with respect to deterministic rules, are correc...
متن کاملA New Operational Semantics for Prolog
The majority of abstract interpretation models defined for Prolog use abstract operations which do not have explicit counterpart in the SLD-resolution. We propose, in this paper, an operational semantics closely related to these models. We prove his equivalence with the SLDresolution and then we use it to prove the consistency of one of abstract semantics presents in [7, 8, 9]. Key-words: Logiq...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000